Ce script R utilise les packages ggplot2, GGally, dplyr, RColorBreweret agricolae pour visualiser et analyser les données météorologiques et de lactation. Il charge les données à partir d'un fichier CSV, calcule les corrélations entre les variables météorologiques, et crée divers graphiques pour explorer les relations et les tendances.
xxxxxxxxxxlibrary(GGally)library(ggplot2)library(dplyr)library(RColorBrewer)Ici, nous chargeons les bibliothèques nécessaires pour la visualisation et la manipulation des données. Si ces packages ne sont pas installés, les commandes install.packages() doivent être exécutées au préalable.
Les données sont chargées à partir d'un fichier CSV nommé donnees_moyennes.csv. Ce fichier contient des informations sur les données de lactation et les données météorologiques moyennes pour chaque ferme.
xxxxxxxxxxdata_mean = read.csv("donnees_moyennes.csv",header=TRUE, sep=",")head(data_mean)ec = data_mean[,9:16] # Table containing only the ECsLa fonction read.csv() lit le fichier CSV et charge les données dans un dataframe appelé data_mean. La fonction head() affiche les premières lignes des données pour vérifier leur contenu. La variable ec contient uniquement les colonnes des variables météorologiques (ECs).
Un diagramme de corrélation est créé pour visualiser les corrélations entre les différentes variables météorologiques.
xxxxxxxxxxggcorr(ec, name = "Correlation coefficients", label = TRUE, label_size = 4 ) + labs (title =" Correlation of the different ECs ") + theme(plot.title = element_text(color = "black", size = 13, face = "bold"), title.position = "top")La fonction ggcorr() du package GGally est utilisée pour créer le diagramme de corrélation. Les coefficients de corrélation sont affichés sur le graphique.
Des nuages de points sont créés pour visualiser les relations entre paires de variables météorologiques.
x#Exemple of 2 correlated ECggplot(data_mean, aes(x=T2M, y=T2MDEW) ) + geom_point() + labs (title = "Correlation between the temperature at 2 m and the Dew/Frost temperature at 2 m ") + theme(plot.title = element_text(color = "red", size = 13, face = "bold"))
#Exemple of 2 uncorrelated ECggplot(data_mean, aes(x=T2M, y=WD2M) ) + geom_point() + labs (title = "Correlation between the temperature at 2 m and the wind direction at 2 m ") + theme(plot.title = element_text(color = "red", size = 13, face = "bold"))
#Exemple of 2 anti-correlated ECggplot(data_mean, aes(x=T2M, y=RH2M) ) + geom_point()+ labs (title = "Correlation between the temperature at 2 m and the relative humidity ") + theme(plot.title = element_text(color = "red", size = 13, face = "bold"))La fonction ggplot() du package ggplot2est utilisée pour créer les nuages de points. Des exemples de variables corrélées, non corrélées et anti-corrélées sont présentés.
Des boîtes à moustaches sont créées pour comparer les variables météorologiques entre les différentes fermes.
x
parameters <- c("T2M", "T2MDEW", "T2MWET", "TS", "RH2M", "PRECTOTCORR", "WS2M", "WD2M")
# Comparaison des paramètres entre fermesfor (param in parameters) { # Création du boxplot sans les lettres HSD box_positions <- boxplot(as.formula(paste(param, "~ factor(farm)")), data = data_mean, main = paste(param, "par ferme"), col = colorRampPalette(brewer.pal(9, "Set3"))(length(unique(data_mean$farm))), xlab = "Fermes", ylab = paste(param), las = 2)$names}La fonction boxplot() est utilisée pour créer les boîtes à moustaches. Les couleurs sont définies à l'aide de colorRampPalette() et brewer.pal() du package RColorBrewer.
Des graphiques à barres sont créés pour visualiser l'évolution des variables météorologiques par année pour une ferme spécifique (ferme 1 dans cet exemple).
xxxxxxxxxx# Filter for farm 1df_farm1 <- data_mean %>% filter(farm == 1)
# Extract the year from 'date_of_GB'df_farm1$year <- as.numeric(substr(df_farm1$date_of_GB, 1, 4))
# List of parameters to plotparameters <- c("T2M", "T2MDEW","T2MWET", "TS", "RH2M", "PRECTOTCORR","WS2M", "WD2M")
param_colors <- setNames(colorRampPalette(brewer.pal(8, "Set2"))(length(parameters)), parameters)
# Boucle sur chaque paramètre et créer un barplotfor (param in parameters) {
df_grouped <- df_farm1 %>% group_by(year) %>% summarise(avg_value = mean(get(param), na.rm = TRUE), .groups = 'drop')
plot <- ggplot(df_grouped, aes(x = factor(year), y = avg_value)) + geom_bar(stat = "identity", fill = param_colors[param]) + # Appliquer la bonne couleur labs(title = paste("Average", param, "per Year (Farm 1)"), x = "Year", y = paste("Average", param)) + theme_minimal()
print(plot) # Afficher le graphique}L'année est extraite de la colonne date_of_GB, et une boucle est utilisée pour créer un graphique en barres pour chaque variable météorologique. Les couleurs sont définies pour chaque variable.